﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Data;

using EFong.Contract;

namespace EFong.ServicesInterface
{
    [ServiceContract]
    public interface IReportService : IService
    {
        [OperationContract]
        ServiceResult<List<银行对账单>> GetReport01(Contract.BankAccount bankAccount, DateTime startDate, DateTime endDate);

        [OperationContract]
        ServiceResult<List<银行对账单>> GetReport011(DateTime startDate, DateTime endDate);

        [OperationContract]
        ServiceResult<List<供应商对账单>> GetReport02(RVendor vendor , DateTime month);

        [OperationContract]
        ServiceResult<List<固定费用清单>> GetReport03(DateTime month);

        [OperationContract]
        ServiceResult<List<零散费用清单>> GetReport04(DateTime month);

        [OperationContract]
        ServiceResult<List<利润表>> GetReport05(DateTime startDay, DateTime endDay);

        [OperationContract]
        ServiceResult<List<飞机票月结对账单>> GetReport06(RCustomer customer, DateTime startDate, DateTime endDate);

        [OperationContract]
        ServiceResult<List<火车票月结对账单>> GetReport07(RCustomer customer, DateTime month);

        [OperationContract]
        ServiceResult<List<酒店月结对账单>> GetReport08(RCustomer customer, DateTime month);

        [OperationContract]
        ServiceResult<List<其他项目月结对账单>> GetReport09(RCustomer customer, DateTime month);

        [OperationContract]
        ServiceResult<List<每日订单报表>> GetReport10(DateTime day);

        [OperationContract]
        ServiceResult<List<应付款报表>> GetReport11();

        [OperationContract]
        ServiceResult<List<应收款报表>> GetReport12();

        [OperationContract]
        ServiceResult<List<已收款报表>> GetReport13(RCustomer customer ,DateTime startDay,DateTime endDay);

        [OperationContract]
        ServiceResult<List<已付款报表>> GetReport14(RVendor vendor, DateTime startDay, DateTime endDay);

        [OperationContract]
        ServiceResult<资金流动报表> GetReport15();

        [OperationContract]
        ServiceResult<List<Contract.每日订单报表>> GetReport16(Contract.User orderUser, DateTime month);

        [OperationContract]
        ServiceResult<List<Contract.每日订单报表>> GetReport17(Contract.User provideUser, DateTime month);

        [OperationContract]
        ServiceResult<List<Contract.飞机总表>> GetReport18(DateTime startDate, DateTime endDate);
    }
}
